package cn.tqfeiyang.smartadmin.commons.mybatis;

/**
 * 实体验证接口
 *
 * @author tqfeiyang
 * @since 2024/9/26 10:10
 */
public interface IEntityValidator<T> extends IEntityHandler<T> {

    /**
     * 验证实体数据
     *
     * @param entity 实体对象
     * @param creating 添加时为true，修改是为false
     */
    default void validate(T entity, boolean creating) {}

    /**
     * 删除实体前检查
     *
     * @param entity 实体对象
     */
    default void beforeDelete(T entity) {}

    /**
     * 删除实体后处理
     *
     * @param entity 实体对象
     */
    default void afterDelete(T entity) {}

}
